package code06_数组;

public class Test07_二维数组 {
	public static void main(String[] args) {
		/*
		 * 规则的二维数组，即每一行的列数都相同
		 */
		// 定义一个二维数组
		int[][] nums;
		// String names[][];
		// 分配空间
		nums = new int[3][2]; // 3表示第一维的大小，2表示第二维的大小，简单来说就是3行2列
		// 赋值
		nums[0][0] = 12;
		nums[0][1] = 3;
		nums[1][0] = 89;
		nums[1][1] = 7;
		nums[2][0] = 34;
		nums[2][1] = 17;
		// 获取值
		// System.out.println(nums[1][0]);

		// 定义数组的同时进行赋值
		// int[][] ages = new int[][] {{19,21},{23,18},{17,22}};
		int[][] ages = { { 19, 21 }, { 23, 18 }, { 17, 22 } };

		// 使用二重循环遍历输出二维数组
		// System.out.println(ages.length); // 第一维的大小，即多少行
		// System.out.println(ages[1].length); // 第二维的大小，即当前行有多少列
		for (int i = 0; i < ages.length; i++) {
			for (int j = 0; j < ages[i].length; j++) {
				System.out.print(ages[i][j] + "\t");
			}
			System.out.println();
		}
		System.out.println("-----------------");

		/*
		 * 不规则的二维数组，即每一行的列数不相同
		 */
//		String[][] hobbies = new String[3][]; // 只指定第一维的大小
//		hobbies[0] = new String[4];
//		hobbies[1] = new String[1];
//		hobbies[2] = new String[3];
//		hobbies[0][0] = "编程1";
//		hobbies[0][1] = "编程2";
//		hobbies[0][2] = "编程3";
//		hobbies[0][3] = "编程4";
//		hobbies[1][0] = "游戏";
//		hobbies[2][0] = "电影1";
//		hobbies[2][1] = "电影2";
//		hobbies[2][2] = "电影3";
		String[][] hobbies = {{"编程1","编程2","编程3","编程4"},{"游戏"},{"电影1","电影2","电影3"}};
		for (int i = 0; i < hobbies.length; i++) {
			for (int j = 0; j < hobbies[i].length; j++) {
				System.out.print(hobbies[i][j] + "\t");
			}
			System.out.println();
		}
		
		
		
		
	}
}
